Me estoy rompiendo la cabeza con esto:
El usuario en mi aplicación web puede seguir una etiqueta (al igual que un usuario puede seguir un subreddit), la etiqueta seguida se mostrará en la página de inicio con un color diferente al de la no seguida. Si un usuario sigue una etiqueta, recibirá notificaciones automáticas cuando se publique una nueva publicación de blog etiquetada con la etiqueta.
Así que tengo que consultar todas las etiquetas que sigue un usuario determinado.
Y tengo que consultar a todos los usuarios que siguen una etiqueta determinada.
Un usuario puede seguir un máximo de 20 etiquetas. Ya que tengo una relación de muchos a muchos, ¿debería optar por algo como esto (normalización)?
const SubscribeToTagSchema = new Mongoose.Schema({ user: { type: Schema.Types.ObjectId, ref: "User", required: true, }, tag: { type: Schema.Types.ObjectId, ref: "Tag", required: true, }, });¿O debería guardar los datos tanto en el esquema de usuario como en el de etiqueta?
const UserSchema = new Mongoose.Schema({ tag: { type: Schema.Types.ObjectId, ref: "Tag", required: true, }, }); const TagSchema = new Mongoose.Schema({ user: { type: Schema.Types.ObjectId, ref: "User", required: true, }, });